/**********************************************************************/
/*   ____  ____                                                       */
/*  /   /\/   /                                                       */
/* /___/  \  /                                                        */
/* \   \   \/                                                       */
/*  \   \        Copyright (c) 2003-2009 Xilinx, Inc.                */
/*  /   /          All Right Reserved.                                 */
/* /---/   /\                                                         */
/* \   \  /  \                                                      */
/*  \___\/\___\                                                    */
/***********************************************************************/

/* This file is designed for use with ISim build 0xfbc00daa */

#define XSI_HIDE_SYMBOL_SPEC true
#include "xsi.h"
#include <memory.h>
#ifdef __GNUC__
#include <stdlib.h>
#else
#include <malloc.h>
#define alloca _alloca
#endif
static const char *ng0 = "/home/choosegoose/code/predator-vision/vga.vhd";
extern char *IEEE_P_2592010699;
extern char *IEEE_P_3620187407;

unsigned char ieee_p_2592010699_sub_2763492388968962707_503743352(char *, char *, unsigned int , unsigned int );
unsigned char ieee_p_2592010699_sub_374109322130769762_503743352(char *, unsigned char );
char *ieee_p_3620187407_sub_2255506239096166994_3965413181(char *, char *, char *, char *, int );
unsigned char ieee_p_3620187407_sub_970019341842429312_3965413181(char *, char *, char *, int );
unsigned char ieee_p_3620187407_sub_970019341842465249_3965413181(char *, char *, char *, int );
unsigned char ieee_p_3620187407_sub_970026082007865855_3965413181(char *, char *, char *, int );


static void work_a_2664946535_3212880686_p_0(char *t0)
{
    char *t1;
    char *t2;
    char *t3;
    char *t4;
    char *t5;
    char *t6;
    char *t7;

LAB0:    xsi_set_current_line(71, ng0);

LAB3:    t1 = (t0 + 1192U);
    t2 = *((char **)t1);
    t1 = (t0 + 7552);
    t3 = (t1 + 56U);
    t4 = *((char **)t3);
    t5 = (t4 + 56U);
    t6 = *((char **)t5);
    memcpy(t6, t2, 8U);
    xsi_driver_first_trans_fast_port(t1);

LAB2:    t7 = (t0 + 7360);
    *((int *)t7) = 1;

LAB1:    return;
LAB4:    goto LAB2;

}

static void work_a_2664946535_3212880686_p_1(char *t0)
{
    char *t1;
    char *t2;
    char *t3;
    char *t4;
    char *t5;
    char *t6;
    char *t7;

LAB0:    xsi_set_current_line(72, ng0);

LAB3:    t1 = (t0 + 1352U);
    t2 = *((char **)t1);
    t1 = (t0 + 7616);
    t3 = (t1 + 56U);
    t4 = *((char **)t3);
    t5 = (t4 + 56U);
    t6 = *((char **)t5);
    memcpy(t6, t2, 8U);
    xsi_driver_first_trans_fast_port(t1);

LAB2:    t7 = (t0 + 7376);
    *((int *)t7) = 1;

LAB1:    return;
LAB4:    goto LAB2;

}

static void work_a_2664946535_3212880686_p_2(char *t0)
{
    char *t1;
    char *t2;
    char *t3;
    char *t4;
    char *t5;
    char *t6;
    char *t7;

LAB0:    xsi_set_current_line(73, ng0);

LAB3:    t1 = (t0 + 1512U);
    t2 = *((char **)t1);
    t1 = (t0 + 7680);
    t3 = (t1 + 56U);
    t4 = *((char **)t3);
    t5 = (t4 + 56U);
    t6 = *((char **)t5);
    memcpy(t6, t2, 8U);
    xsi_driver_first_trans_fast_port(t1);

LAB2:    t7 = (t0 + 7392);
    *((int *)t7) = 1;

LAB1:    return;
LAB4:    goto LAB2;

}

static void work_a_2664946535_3212880686_p_3(char *t0)
{
    char *t1;
    char *t2;
    unsigned int t3;
    unsigned char t4;
    char *t5;
    char *t6;
    char *t7;
    char *t8;
    char *t9;
    char *t10;

LAB0:    xsi_set_current_line(77, ng0);

LAB3:    t1 = (t0 + 2632U);
    t2 = *((char **)t1);
    t3 = (0 + 48U);
    t1 = (t2 + t3);
    t4 = *((unsigned char *)t1);
    t5 = (t0 + 7744);
    t6 = (t5 + 56U);
    t7 = *((char **)t6);
    t8 = (t7 + 56U);
    t9 = *((char **)t8);
    *((unsigned char *)t9) = t4;
    xsi_driver_first_trans_fast_port(t5);

LAB2:    t10 = (t0 + 7408);
    *((int *)t10) = 1;

LAB1:    return;
LAB4:    goto LAB2;

}

static void work_a_2664946535_3212880686_p_4(char *t0)
{
    char *t1;
    char *t2;
    unsigned int t3;
    unsigned char t4;
    char *t5;
    char *t6;
    char *t7;
    char *t8;
    char *t9;
    char *t10;

LAB0:    xsi_set_current_line(78, ng0);

LAB3:    t1 = (t0 + 2632U);
    t2 = *((char **)t1);
    t3 = (0 + 49U);
    t1 = (t2 + t3);
    t4 = *((unsigned char *)t1);
    t5 = (t0 + 7808);
    t6 = (t5 + 56U);
    t7 = *((char **)t6);
    t8 = (t7 + 56U);
    t9 = *((char **)t8);
    *((unsigned char *)t9) = t4;
    xsi_driver_first_trans_fast_port(t5);

LAB2:    t10 = (t0 + 7424);
    *((int *)t10) = 1;

LAB1:    return;
LAB4:    goto LAB2;

}

static void work_a_2664946535_3212880686_p_5(char *t0)
{
    char *t1;
    char *t2;
    unsigned int t3;
    unsigned char t4;
    char *t5;
    char *t6;
    char *t7;
    char *t8;
    char *t9;
    char *t10;

LAB0:    xsi_set_current_line(80, ng0);

LAB3:    t1 = (t0 + 2632U);
    t2 = *((char **)t1);
    t3 = (0 + 50U);
    t1 = (t2 + t3);
    t4 = *((unsigned char *)t1);
    t5 = (t0 + 7872);
    t6 = (t5 + 56U);
    t7 = *((char **)t6);
    t8 = (t7 + 56U);
    t9 = *((char **)t8);
    *((unsigned char *)t9) = t4;
    xsi_driver_first_trans_fast_port(t5);

LAB2:    t10 = (t0 + 7440);
    *((int *)t10) = 1;

LAB1:    return;
LAB4:    goto LAB2;

}

static void work_a_2664946535_3212880686_p_6(char *t0)
{
    char t17[16];
    char t34[16];
    char t38[16];
    unsigned char t1;
    char *t2;
    char *t3;
    char *t4;
    char *t5;
    char *t6;
    unsigned int t7;
    char *t8;
    int t9;
    char *t10;
    char *t11;
    char *t12;
    char *t13;
    char *t14;
    char *t15;
    char *t16;
    unsigned int t18;
    unsigned int t19;
    unsigned char t20;
    unsigned char t21;
    char *t22;
    unsigned int t23;
    unsigned int t24;
    unsigned int t25;
    char *t26;
    char *t27;
    unsigned int t28;
    unsigned int t29;
    unsigned int t30;
    unsigned int t31;
    char *t32;
    char *t33;
    char *t35;
    char *t36;
    unsigned int t37;
    char *t39;
    int t40;
    unsigned char t41;
    char *t42;
    char *t43;
    char *t44;
    char *t45;

LAB0:    xsi_set_current_line(87, ng0);
    t1 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, (unsigned char)3);
    t2 = (t0 + 7936);
    t3 = (t2 + 56U);
    t4 = *((char **)t3);
    t5 = (t4 + 56U);
    t6 = *((char **)t5);
    *((unsigned char *)t6) = t1;
    xsi_driver_first_trans_delta(t2, 48U, 1, 0LL);
    xsi_set_current_line(88, ng0);
    t1 = ieee_p_2592010699_sub_374109322130769762_503743352(IEEE_P_2592010699, (unsigned char)3);
    t2 = (t0 + 7936);
    t3 = (t2 + 56U);
    t4 = *((char **)t3);
    t5 = (t4 + 56U);
    t6 = *((char **)t5);
    *((unsigned char *)t6) = t1;
    xsi_driver_first_trans_delta(t2, 49U, 1, 0LL);
    xsi_set_current_line(91, ng0);
    t2 = (t0 + 2632U);
    t3 = *((char **)t2);
    t7 = (0 + 0U);
    t2 = (t3 + t7);
    t4 = (t0 + 8896);
    t5 = xsi_record_get_element_type(t4, 0);
    t6 = (t5 + 72U);
    t8 = *((char **)t6);
    t9 = (1648 - 1);
    t1 = ieee_p_3620187407_sub_970019341842465249_3965413181(IEEE_P_3620187407, t2, t8, t9);
    if (t1 != 0)
        goto LAB2;

LAB4:    xsi_set_current_line(99, ng0);
    t2 = (t0 + 2632U);
    t3 = *((char **)t2);
    t7 = (0 + 0U);
    t2 = (t3 + t7);
    t4 = (t0 + 8896);
    t5 = xsi_record_get_element_type(t4, 0);
    t6 = (t5 + 72U);
    t8 = *((char **)t6);
    t10 = ieee_p_3620187407_sub_2255506239096166994_3965413181(IEEE_P_3620187407, t17, t2, t8, 1);
    t11 = (t17 + 12U);
    t18 = *((unsigned int *)t11);
    t19 = (1U * t18);
    t1 = (12U != t19);
    if (t1 == 1)
        goto LAB10;

LAB11:    t12 = (t0 + 7936);
    t13 = (t12 + 56U);
    t14 = *((char **)t13);
    t15 = (t14 + 56U);
    t16 = *((char **)t15);
    memcpy(t16, t10, 12U);
    xsi_driver_first_trans_delta(t12, 0U, 12U, 0LL);

LAB3:    xsi_set_current_line(102, ng0);
    t2 = (t0 + 2632U);
    t3 = *((char **)t2);
    t7 = (0 + 0U);
    t2 = (t3 + t7);
    t4 = (t0 + 8896);
    t5 = xsi_record_get_element_type(t4, 0);
    t6 = (t5 + 72U);
    t8 = *((char **)t6);
    t20 = ieee_p_3620187407_sub_970019341842429312_3965413181(IEEE_P_3620187407, t2, t8, 1280);
    if (t20 == 1)
        goto LAB15;

LAB16:    t1 = (unsigned char)0;

LAB17:    if (t1 != 0)
        goto LAB12;

LAB14:    xsi_set_current_line(108, ng0);
    t2 = xsi_get_transient_memory(8U);
    memset(t2, 0, 8U);
    t3 = t2;
    memset(t3, (unsigned char)2, 8U);
    t4 = (t0 + 7936);
    t5 = (t4 + 56U);
    t6 = *((char **)t5);
    t8 = (t6 + 56U);
    t10 = *((char **)t8);
    memcpy(t10, t2, 8U);
    xsi_driver_first_trans_delta(t4, 24U, 8U, 0LL);
    xsi_set_current_line(109, ng0);
    t2 = xsi_get_transient_memory(8U);
    memset(t2, 0, 8U);
    t3 = t2;
    memset(t3, (unsigned char)2, 8U);
    t4 = (t0 + 7936);
    t5 = (t4 + 56U);
    t6 = *((char **)t5);
    t8 = (t6 + 56U);
    t10 = *((char **)t8);
    memcpy(t10, t2, 8U);
    xsi_driver_first_trans_delta(t4, 32U, 8U, 0LL);
    xsi_set_current_line(110, ng0);
    t2 = xsi_get_transient_memory(8U);
    memset(t2, 0, 8U);
    t3 = t2;
    memset(t3, (unsigned char)2, 8U);
    t4 = (t0 + 7936);
    t5 = (t4 + 56U);
    t6 = *((char **)t5);
    t8 = (t6 + 56U);
    t10 = *((char **)t8);
    memcpy(t10, t2, 8U);
    xsi_driver_first_trans_delta(t4, 40U, 8U, 0LL);
    xsi_set_current_line(111, ng0);
    t2 = (t0 + 7936);
    t3 = (t2 + 56U);
    t4 = *((char **)t3);
    t5 = (t4 + 56U);
    t6 = *((char **)t5);
    *((unsigned char *)t6) = (unsigned char)3;
    xsi_driver_first_trans_delta(t2, 50U, 1, 0LL);

LAB13:    xsi_set_current_line(115, ng0);
    t2 = (t0 + 2632U);
    t3 = *((char **)t2);
    t7 = (0 + 0U);
    t2 = (t3 + t7);
    t4 = (t0 + 8896);
    t5 = xsi_record_get_element_type(t4, 0);
    t6 = (t5 + 72U);
    t8 = *((char **)t6);
    t20 = ieee_p_3620187407_sub_970026082007865855_3965413181(IEEE_P_3620187407, t2, t8, 1352);
    if (t20 == 1)
        goto LAB23;

LAB24:    t1 = (unsigned char)0;

LAB25:    if (t1 != 0)
        goto LAB20;

LAB22:
LAB21:    xsi_set_current_line(120, ng0);
    t2 = (t0 + 2632U);
    t3 = *((char **)t2);
    t7 = (0 + 12U);
    t2 = (t3 + t7);
    t4 = (t0 + 8896);
    t5 = xsi_record_get_element_type(t4, 1);
    t6 = (t5 + 72U);
    t8 = *((char **)t6);
    t20 = ieee_p_3620187407_sub_970026082007865855_3965413181(IEEE_P_3620187407, t2, t8, 723);
    if (t20 == 1)
        goto LAB29;

LAB30:    t1 = (unsigned char)0;

LAB31:    if (t1 != 0)
        goto LAB26;

LAB28:
LAB27:    t2 = (t0 + 7456);
    *((int *)t2) = 1;

LAB1:    return;
LAB2:    xsi_set_current_line(92, ng0);
    t10 = xsi_get_transient_memory(12U);
    memset(t10, 0, 12U);
    t11 = t10;
    memset(t11, (unsigned char)2, 12U);
    t12 = (t0 + 7936);
    t13 = (t12 + 56U);
    t14 = *((char **)t13);
    t15 = (t14 + 56U);
    t16 = *((char **)t15);
    memcpy(t16, t10, 12U);
    xsi_driver_first_trans_delta(t12, 0U, 12U, 0LL);
    xsi_set_current_line(93, ng0);
    t2 = (t0 + 2632U);
    t3 = *((char **)t2);
    t7 = (0 + 12U);
    t2 = (t3 + t7);
    t4 = (t0 + 8896);
    t5 = xsi_record_get_element_type(t4, 1);
    t6 = (t5 + 72U);
    t8 = *((char **)t6);
    t9 = (750 - 1);
    t1 = ieee_p_3620187407_sub_970019341842465249_3965413181(IEEE_P_3620187407, t2, t8, t9);
    if (t1 != 0)
        goto LAB5;

LAB7:    xsi_set_current_line(96, ng0);
    t2 = (t0 + 2632U);
    t3 = *((char **)t2);
    t7 = (0 + 12U);
    t2 = (t3 + t7);
    t4 = (t0 + 8896);
    t5 = xsi_record_get_element_type(t4, 1);
    t6 = (t5 + 72U);
    t8 = *((char **)t6);
    t10 = ieee_p_3620187407_sub_2255506239096166994_3965413181(IEEE_P_3620187407, t17, t2, t8, 1);
    t11 = (t17 + 12U);
    t18 = *((unsigned int *)t11);
    t19 = (1U * t18);
    t1 = (12U != t19);
    if (t1 == 1)
        goto LAB8;

LAB9:    t12 = (t0 + 7936);
    t13 = (t12 + 56U);
    t14 = *((char **)t13);
    t15 = (t14 + 56U);
    t16 = *((char **)t15);
    memcpy(t16, t10, 12U);
    xsi_driver_first_trans_delta(t12, 12U, 12U, 0LL);

LAB6:    goto LAB3;

LAB5:    xsi_set_current_line(94, ng0);
    t10 = xsi_get_transient_memory(12U);
    memset(t10, 0, 12U);
    t11 = t10;
    memset(t11, (unsigned char)2, 12U);
    t12 = (t0 + 7936);
    t13 = (t12 + 56U);
    t14 = *((char **)t13);
    t15 = (t14 + 56U);
    t16 = *((char **)t15);
    memcpy(t16, t10, 12U);
    xsi_driver_first_trans_delta(t12, 12U, 12U, 0LL);
    goto LAB6;

LAB8:    xsi_size_not_matching(12U, t19, 0);
    goto LAB9;

LAB10:    xsi_size_not_matching(12U, t19, 0);
    goto LAB11;

LAB12:    xsi_set_current_line(103, ng0);
    t16 = (t0 + 2792U);
    t22 = *((char **)t16);
    t19 = (11 - 5);
    t23 = (t19 * 1U);
    t24 = (0 + 0U);
    t25 = (t24 + t23);
    t16 = (t22 + t25);
    t26 = (t0 + 2792U);
    t27 = *((char **)t26);
    t28 = (11 - 5);
    t29 = (t28 * 1U);
    t30 = (0 + 0U);
    t31 = (t30 + t29);
    t26 = (t27 + t31);
    t33 = ((IEEE_P_2592010699) + 4000);
    t35 = (t34 + 0U);
    t36 = (t35 + 0U);
    *((int *)t36) = 5;
    t36 = (t35 + 4U);
    *((int *)t36) = 0;
    t36 = (t35 + 8U);
    *((int *)t36) = -1;
    t9 = (0 - 5);
    t37 = (t9 * -1);
    t37 = (t37 + 1);
    t36 = (t35 + 12U);
    *((unsigned int *)t36) = t37;
    t36 = (t38 + 0U);
    t39 = (t36 + 0U);
    *((int *)t39) = 5;
    t39 = (t36 + 4U);
    *((int *)t39) = 4;
    t39 = (t36 + 8U);
    *((int *)t39) = -1;
    t40 = (4 - 5);
    t37 = (t40 * -1);
    t37 = (t37 + 1);
    t39 = (t36 + 12U);
    *((unsigned int *)t39) = t37;
    t32 = xsi_base_array_concat(t32, t17, t33, (char)97, t16, t34, (char)97, t26, t38, (char)101);
    t37 = (6U + 2U);
    t41 = (8U != t37);
    if (t41 == 1)
        goto LAB18;

LAB19:    t39 = (t0 + 7936);
    t42 = (t39 + 56U);
    t43 = *((char **)t42);
    t44 = (t43 + 56U);
    t45 = *((char **)t44);
    memcpy(t45, t32, 8U);
    xsi_driver_first_trans_delta(t39, 24U, 8U, 0LL);
    xsi_set_current_line(104, ng0);
    t2 = (t0 + 2792U);
    t3 = *((char **)t2);
    t7 = (11 - 7);
    t18 = (t7 * 1U);
    t19 = (0 + 0U);
    t23 = (t19 + t18);
    t2 = (t3 + t23);
    t4 = (t0 + 7936);
    t5 = (t4 + 56U);
    t6 = *((char **)t5);
    t8 = (t6 + 56U);
    t10 = *((char **)t8);
    memcpy(t10, t2, 8U);
    xsi_driver_first_trans_delta(t4, 32U, 8U, 0LL);
    xsi_set_current_line(105, ng0);
    t2 = (t0 + 2792U);
    t3 = *((char **)t2);
    t7 = (11 - 7);
    t18 = (t7 * 1U);
    t19 = (0 + 12U);
    t23 = (t19 + t18);
    t2 = (t3 + t23);
    t4 = (t0 + 7936);
    t5 = (t4 + 56U);
    t6 = *((char **)t5);
    t8 = (t6 + 56U);
    t10 = *((char **)t8);
    memcpy(t10, t2, 8U);
    xsi_driver_first_trans_delta(t4, 40U, 8U, 0LL);
    xsi_set_current_line(106, ng0);
    t2 = (t0 + 7936);
    t3 = (t2 + 56U);
    t4 = *((char **)t3);
    t5 = (t4 + 56U);
    t6 = *((char **)t5);
    *((unsigned char *)t6) = (unsigned char)2;
    xsi_driver_first_trans_delta(t2, 50U, 1, 0LL);
    goto LAB13;

LAB15:    t10 = (t0 + 2632U);
    t11 = *((char **)t10);
    t18 = (0 + 12U);
    t10 = (t11 + t18);
    t12 = (t0 + 8896);
    t13 = xsi_record_get_element_type(t12, 1);
    t14 = (t13 + 72U);
    t15 = *((char **)t14);
    t21 = ieee_p_3620187407_sub_970019341842429312_3965413181(IEEE_P_3620187407, t10, t15, 720);
    t1 = t21;
    goto LAB17;

LAB18:    xsi_size_not_matching(8U, t37, 0);
    goto LAB19;

LAB20:    xsi_set_current_line(116, ng0);
    t16 = (t0 + 7936);
    t22 = (t16 + 56U);
    t26 = *((char **)t22);
    t27 = (t26 + 56U);
    t32 = *((char **)t27);
    *((unsigned char *)t32) = (unsigned char)3;
    xsi_driver_first_trans_delta(t16, 48U, 1, 0LL);
    goto LAB21;

LAB23:    t10 = (t0 + 2632U);
    t11 = *((char **)t10);
    t18 = (0 + 0U);
    t10 = (t11 + t18);
    t12 = (t0 + 8896);
    t13 = xsi_record_get_element_type(t12, 0);
    t14 = (t13 + 72U);
    t15 = *((char **)t14);
    t21 = ieee_p_3620187407_sub_970019341842429312_3965413181(IEEE_P_3620187407, t10, t15, 1432);
    t1 = t21;
    goto LAB25;

LAB26:    xsi_set_current_line(121, ng0);
    t16 = (t0 + 7936);
    t22 = (t16 + 56U);
    t26 = *((char **)t22);
    t27 = (t26 + 56U);
    t32 = *((char **)t27);
    *((unsigned char *)t32) = (unsigned char)3;
    xsi_driver_first_trans_delta(t16, 49U, 1, 0LL);
    goto LAB27;

LAB29:    t10 = (t0 + 2632U);
    t11 = *((char **)t10);
    t18 = (0 + 12U);
    t10 = (t11 + t18);
    t12 = (t0 + 8896);
    t13 = xsi_record_get_element_type(t12, 1);
    t14 = (t13 + 72U);
    t15 = *((char **)t14);
    t21 = ieee_p_3620187407_sub_970019341842429312_3965413181(IEEE_P_3620187407, t10, t15, 728);
    t1 = t21;
    goto LAB31;

}

static void work_a_2664946535_3212880686_p_7(char *t0)
{
    char *t1;
    unsigned char t2;
    char *t3;
    char *t4;
    char *t5;
    char *t6;
    char *t7;
    char *t8;

LAB0:    xsi_set_current_line(127, ng0);
    t1 = (t0 + 992U);
    t2 = ieee_p_2592010699_sub_2763492388968962707_503743352(IEEE_P_2592010699, t1, 0U, 0U);
    if (t2 != 0)
        goto LAB2;

LAB4:
LAB3:    t1 = (t0 + 7472);
    *((int *)t1) = 1;

LAB1:    return;
LAB2:    xsi_set_current_line(129, ng0);
    t3 = (t0 + 2792U);
    t4 = *((char **)t3);
    t3 = (t0 + 8000);
    t5 = (t3 + 56U);
    t6 = *((char **)t5);
    t7 = (t6 + 56U);
    t8 = *((char **)t7);
    memcpy(t8, t4, 56U);
    xsi_driver_first_trans_fast(t3);
    goto LAB3;

}


extern void work_a_2664946535_3212880686_init()
{
	static char *pe[] = {(void *)work_a_2664946535_3212880686_p_0,(void *)work_a_2664946535_3212880686_p_1,(void *)work_a_2664946535_3212880686_p_2,(void *)work_a_2664946535_3212880686_p_3,(void *)work_a_2664946535_3212880686_p_4,(void *)work_a_2664946535_3212880686_p_5,(void *)work_a_2664946535_3212880686_p_6,(void *)work_a_2664946535_3212880686_p_7};
	xsi_register_didat("work_a_2664946535_3212880686", "isim/external_hmd_tb_isim_beh.exe.sim/work/a_2664946535_3212880686.didat");
	xsi_register_executes(pe);
}
